package com.skivingcloud.report.service.impl;

import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.skivingcloud.report.entity.ReportLuckysheetHis;
import com.skivingcloud.report.mapper.ReportLuckysheetHisMapper;
import com.skivingcloud.report.service.ReportLuckysheetHisService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.skivingcloud.common.utils.PageParameter;

/**
 * 修改历史记录表 服务层实现。
 *
 * @author skivingcloud
 * @since 2024-11-07
 */
@Service
public class ReportLuckysheetHisServiceImpl extends ServiceImpl<ReportLuckysheetHisMapper, ReportLuckysheetHis> implements ReportLuckysheetHisService {

    /**
     * 分页查询修改历史记录表
     *
     * @param parameter 查询参数
     * @return 分页查询结果
     */
    @Override
    public Page<ReportLuckysheetHis> queryByPage(PageParameter<ReportLuckysheetHis> parameter){
        Page<ReportLuckysheetHis> page = new Page<>(parameter.getPage(), parameter.getPageSize());
        QueryWrapper queryWrapper = QueryWrapper.create();
        if (parameter.getParam() != null) {
            //查询条件
            if (StringUtils.isNoneBlank(parameter.getParam().getId())) {
                queryWrapper.and(ReportLuckysheetHis::getId).like(parameter.getParam().getId());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getSheetIndex())) {
                queryWrapper.and(ReportLuckysheetHis::getSheetIndex).like(parameter.getParam().getSheetIndex());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getListId())) {
                queryWrapper.and(ReportLuckysheetHis::getListId).like(parameter.getParam().getListId());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getBson())) {
                queryWrapper.and(ReportLuckysheetHis::getBson).like(parameter.getParam().getBson());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getBeforeJson())) {
                queryWrapper.and(ReportLuckysheetHis::getBeforeJson).like(parameter.getParam().getBeforeJson());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getChangeDesc())) {
                queryWrapper.and(ReportLuckysheetHis::getChangeDesc).like(parameter.getParam().getChangeDesc());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getRemark())) {
                queryWrapper.and(ReportLuckysheetHis::getRemark).like(parameter.getParam().getRemark());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getType())) {
                queryWrapper.and(ReportLuckysheetHis::getType).like(parameter.getParam().getType());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getOperateKey())) {
                queryWrapper.and(ReportLuckysheetHis::getOperateKey).like(parameter.getParam().getOperateKey());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getOperator())) {
                queryWrapper.and(ReportLuckysheetHis::getOperator).like(parameter.getParam().getOperator());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getCreator())) {
                queryWrapper.and(ReportLuckysheetHis::getCreator).like(parameter.getParam().getCreator());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getUpdater())) {
                queryWrapper.and(ReportLuckysheetHis::getUpdater).like(parameter.getParam().getUpdater());
            }
            if (StringUtils.isNoneBlank(parameter.getParam().getDelFlag())) {
                queryWrapper.and(ReportLuckysheetHis::getDelFlag).like(parameter.getParam().getDelFlag());
            }
        }
        return this.page(page, queryWrapper);
    }
}
